package proj;

/**
 * Each instance of Game represents a particular game.  The class is responsible
 * for managing control flow within the programm, mainly consisting of 
 * requesting each player in tern to undertake an action.  Game is also 
 * responsible for determining when the game ends, and saving a game when
 * requested to do so.
 * @author Jono
 *
 */
public interface Game {
   /**
    * Sets up the game about to begin, whether by creating a blank board or by
    * generating one from file.
    * @return operation successful
    */
	public boolean setUpGame();
	/**
	 * Commences the playing of the game, which will continue until one player 
	 * wins or an exit request is passed up.
	 * @return operation successful
	 */
	public boolean playGame();
	/**
	 * Saves the current game information into a file
	 * @return operation successful
	 */
	public boolean saveGame();
}
